Clover coverage report - bexee - 0.1
Coverage timestamp: Do Dez 16 2004 13:24:06 CET
file stats: LOC: 78   Methods: 1
NCLOC: 34   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
BPELProcessFactory.java 100% 100% 100% 100%
coverage
 1   
 /*
 2   
  * $Id: BPELProcessFactory.java,v 1.1 2004/12/15 14:18:10 patforna Exp $
 3   
  *
 4   
  * Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
 5   
  * Berne University of Applied Sciences
 6   
  * School of Engineering and Information Technology
 7   
  * All rights reserved.
 8   
  */
 9   
 package bexee.model;
 10   
 
 11   
 import java.io.InputStream;
 12   
 
 13   
 import org.apache.commons.logging.Log;
 14   
 import org.apache.commons.logging.LogFactory;
 15   
 
 16   
 import bexee.model.process.BPELProcess;
 17   
 import bexee.model.process.impl.BPELProcessImpl;
 18   
 import bexee.util.BexeeProperties;
 19   
 import bexee.util.Constants;
 20   
 
 21   
 /**
 22   
  * Abstract class for creating <code>BPELProcessFactory</code>
 23   
  * implementations.
 24   
  * 
 25   
  * @version $Revision: 1.1 $, $Date: 2004/12/15 14:18:10 $
 26   
  * @author Patric Fornasier
 27   
  * @author Pawel Kowalski
 28   
  */
 29   
 public abstract class BPELProcessFactory {
 30   
 
 31   
     private static Log log = LogFactory.getLog(BPELProcessFactory.class);
 32   
 
 33   
     /**
 34   
      * Creates a new <code>BPELProcessFactory</code>. The actual type is
 35   
      * defined by the property <code>bexee.bpel.process.factory</code>.
 36   
      * <p>
 37   
      * If it is not set then {@link BPELProcessImpl}will be created.
 38   
      * 
 39   
      * @return a <code>BPELProcessFactory</code> implementation
 40   
      */
 41  48
     public static BPELProcessFactory getInstance() {
 42   
 
 43  48
         BPELProcessFactory factory = null;
 44   
 
 45  48
         String className = BexeeProperties
 46   
                 .getProperty(Constants.OPT_PROCESS_FACTORY);
 47   
 
 48   
         // if option is not set, create default factory
 49  48
         if (className == null) {
 50  44
             log.debug(Constants.OPT_DAO_FACTORY
 51   
                     + " not set, creating default factory: "
 52   
                     + BPELProcessImpl.class.getName());
 53  44
             factory = new BPELProcessFactoryImpl();
 54   
         } else {
 55  4
             try {
 56   
                 // try to instantiate indicated class
 57  4
                 Class clazz = Class.forName(className);
 58  2
                 factory = (BPELProcessFactory) clazz.newInstance();
 59   
             } catch (Exception e) {
 60  2
                 log.warn("unable to create " + className
 61   
                         + ", creating default factory: "
 62   
                         + BPELProcessImpl.class.getName());
 63  2
                 factory = new BPELProcessFactoryImpl();
 64   
             }
 65   
         }
 66   
 
 67  48
         return factory;
 68   
     }
 69   
 
 70   
     /**
 71   
      * The concrete factories will have to implement this method.
 72   
      * 
 73   
      * @return a <code>BPELProcess</code> implementation
 74   
      */
 75   
     public abstract BPELProcess createBPELProcess(InputStream bpelDocumentStream)
 76   
             throws BPELDocumentException;
 77   
 
 78   
 }